package com.cn.jx.manager.service.query;

import java.util.List;
import java.util.Set;

import com.cn.jx.common.util.page.PageObj;
import com.cn.jx.manager.po.Role;
import com.jx.base.SessionUser;
import com.jx.jpaQuery.QueryCondition;
import com.jx.model.MenuEntry;
import com.jx.util.MapObject;

/**
 * 
 * @author 姜旭
 * @version v1.11.20.2019
 * @since 
 * <p>创建时间：2019年11月28日
 * <p>功能描述：<p>IRoleService  角色服务层接口定义 
 * <p>官方网站：management/admin/index
 * <p>邮箱地址：524577360@qq.com
 */
public interface IRoleServiceQry {
	
	/**
	 * 
	* @Title:findRoleByPageAndParams
	* @Description:TODO(分页查询角色)
	* <p>邮箱地址: 524577360@qq.com
	* @param cond
	* @return
	* @throws Exception
	* PageObj<Role>
	* @throws
	 */
	public PageObj<MapObject> findRoleByPageAndParams(QueryCondition cond)  throws Exception;
	
	
	/**
	 * 
	* @Title:getRoleById
	* @Description:TODO(根据id获取角色)
	* <p>邮箱地址: 524577360@qq.com
	* @param id
	* @return
	* Role
	* @throws
	 */
	public Role getRoleById(String id);
	
	/**
	 * 
	* @Title:findAllResourceByRole
	* @Description:TODO(根据角色获取所有资源被选中的 )
	* <p>邮箱地址: 524577360@qq.com
	* @param roleId
	* @return
	* Set<String>
	* @throws
	 */
	public Set<String> findAllResourceByRole(String roleId);
	
	
	/**
	 * 
	* @Title:initRoleResource
	* @Description:TODO(初始化sessionuser内容角色资源)
	* <p>邮箱地址: 524577360@qq.com
	* @param suer
	* void
	* @throws
	 */
	public void initRoleResource(SessionUser suer);
	
	/**
	 * 
	* @Title: findAllRole
	* @Description: TODO(获取所有有效角色)
	* <p>邮箱地址：524577360@qq.com
	* @return
	* @return List<Role> 返回类型
	* @throws
	 */
	public List<MenuEntry> findAllRole(String uid);
	
	
	/**
	 * 
	* @Title:getRoleNamesByUserId
	* @Description:TODO(根据用户id得到所有角色名称逗号)
	* <p>邮箱地址: 524577360@qq.com
	* @param userId
	* @return
	* String
	* @throws
	 */
	public String getRoleNamesByUserId(String userId);
	
}
